package daily.kou2022_0228;
//
public class Num110 {
    //树的高度
    private int height(TreeNode root) {
        if (root==null){
            return 0;
        }
        return 1+Math.max(height(root.left),height(root.right));
    }
    //判断平衡树
    public boolean isBalanced(TreeNode root) {
        if (root==null){
            return true;
        }
        int left = height(root.left);
        int right = height(root.right);
        //高度差
        if (Math.abs(left-right)>1){
            return false;
        }
        return isBalanced(root.left)&&isBalanced(root.right);




    }




//    //树的高度
//
//    private int height(TreeNode root) {
//        if (root==null){
//            return 0;
//        }
//        return 1+Math.max(height(root.right),height(root.left));
//    }
//    public boolean isBalanced(TreeNode root) {
//        if (root==null){
//            return true;
//        }
//        int left=height(root.left);
//        int right=height(root.right);
//        //判断当前根的左右子树的高度差
//        if (Math.abs(left-right)>1){
//            return false;
//        }
//
//        return isBalanced(root.right)&&isBalanced(root.left);
//    }
}
